package packageClass;
/**
 * 创建包装类对象的方式*/
public class IntegerDemo {
    public static void main(String[] args) {
        //方式一：通过new关键字
//        Integer i1 = new Integer(5);
//        Integer i2 = new Integer(5);
//        System.out.println(i1 == i2);   //比较地址值
//        System.out.println(i1.equals(i2));  //被Integer重写比较内容

        //方式二：通过包装类的valueof（）方法创建对象
        Integer i3 = Integer.valueOf(5);
        Integer i4 = Integer.valueOf(5);
        System.out.println(i3 == i4);  //Integer.valueof会复用-128到127之间的数据，超出界限即为false

        //方式三：自动拆装箱
        //自动触发装箱特征，会被编译为Integer i5 = Integer.valueof（5）;
        Integer i5 =5;  //基本数据类到包装类-----装箱
        //自动触发拆箱特征，会被编译为int i = i.valueof();
        int i = i5;  //包装类到基本数据类型------拆箱，

        //包装类的常用操作
        //1.通过包装类获取基本数据类型的取值范围
        int max = Integer.MAX_VALUE; //获取int的最大值
        int min = Integer.MIN_VALUE; //获取int的最小值
        System.out.println("int的最大值为："+max);
        System.out.println("int的最小值为："+min);

        //求long类型的最大值和最小值
        long max1 = Long.MAX_VALUE;
        long min1 = Long.MIN_VALUE;
        System.out.println("long的最大值为："+max1);
        System.out.println("long的最小值为："+min1);

        //包装类可以将字符串转为对应的基本类型 -------(重点)
        String istr = "16"; //在对字符串转换成基本数据类型时，字符串的内容必须符合对应基本数据类型的数据格式
        int age = Integer.parseInt(istr);
        System.out.println(age);

        //将以下字符串转为对应基本数据类型
        String dast = "123.456";
        float das = Float.parseFloat(dast);
        System.out.println(das);
    }
}
